# -*- coding: utf-8 -*-
__author__ = 'lztkdr'
__date__ = '2020/3/30 8:43'

from matplotlib import pyplot as plt

#如果要显示中文标题和坐标表示，需要添加以下两行代码
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

"""
散点图应用场景：
    不同条件(维度)之间的内在关联关系
    观察数据的离散聚合程度

"""

"""
假设通过爬虫你获取到了北京2016年3,10月份每天白天的最高气温(分别位于列表a,b),
那么此时如何寻找出气温和随时间(天)变化的某种规律?
"""

y_3 = [11, 17, 16, 11, 12, 11, 12, 6, 6, 7, 8, 9, 12, 15, 14, 17, 18, 21, 16, 17, 20, 14, 15, 15, 15, 19, 21, 22, 22,
       22, 23]

y_10 = [26, 26, 28, 19, 21, 17, 16, 19, 18, 20, 20, 19, 22, 23, 17, 20, 21, 20, 22, 15, 11, 15, 5, 13, 17, 10, 11, 13,
        12, 13, 6]

x_3 = range(1, 32)
#使用scatter方法绘制散点图,和之前绘制折线图的唯一区别
plt.scatter(x_3, y_3, label='3月')

# 一个图上 2个月份的散点图，这时候设置间隔大一些，从50开始
x_10 = range(50, 81)
#使用scatter方法绘制散点图,和之前绘制折线图的唯一区别
plt.scatter(x_10, y_10, label='10月')

x_ticks = list(x_3) + list(x_10)

x_ticks_labels = ["3月{}日".format(j) for j in x_3]
x_ticks_labels += ["10月{}日".format(j - 49) for j in x_10]

# 太密集了
# plt.xticks(x_ticks, x_ticks_labels, rotation=45)
# start:stop:step
plt.xticks(x_ticks[::3], x_ticks_labels[::3], rotation=45)

plt.xlabel("时间")
plt.ylabel("温度")
plt.title("3月与10月每日温度变化情况")

plt.legend()

plt.grid()

plt.show()
